Laboratorio 8: Rete Sociale con Grafi

L'Obiettivo 🎯

  • Il Modello: Una rete sociale semplice.
    • Gli utenti sono rappresentati come nodi in un grafo.
    • Le amicizie sono archi non orientati.
  • Il Compito: Elabora una serie di comandi per costruire e interrogare la rete.

La Rappresentazione 💾

Utilizzeremo un elenco di adiacenza per memorizzare il grafo.

È un array di liste. La lista all'indice `i` contiene tutti gli amici dell'utente `i`.

// Amicizie: (0,1), (0,2), (1,2)
adj = [
0:[1, 2],
1:[0, 2],
2:[0, 1],
3:[]
]

Le Operazioni ⚙️

Implementerai quattro comandi:

  • aggiungi u v

    Aggiungi un'amicizia.

  • grado u

    Conta gli amici dell'utente u.

  • èamico u v

    Verifica se u e v sono amici.

  • conta_maggiore x

    Conta gli utenti con più di x amici.